package com.example.panda.adapter;

import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.ImageView;
import android.widget.LinearLayout;

import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;

import com.example.panda.R;

import java.util.ArrayList;
import java.util.List;

public class HomePagerAdapter extends PagerAdapter {
    // 轮播的数量 ，为啥取这么大的数值呢，主要是因为自动轮播时会用到
    @Override
    public int getCount() {
        return Integer.MAX_VALUE;
    }
    //复用的条件
    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
        return view == o;
    }
    // 得到item布局
    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        List<ImageView> mImageViewList;
        int[] images = {R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e};
        //这个集合用于装轮播图（Imageview）
        mImageViewList = new ArrayList<>();
        //用于确定小圆点的格式 位置
        LinearLayout.LayoutParams layoutParams;
        // images是图片数组，图片数组的大小决定存储imageview集合的大小
        for(int i = 0; i < images.length; i++){
            ImageView imageView = new ImageView(container.getContext());
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            imageView.setImageResource(images[i]);
            mImageViewList.add(imageView);
        }
        //主要这里的item采用取余的方式来得到，因为我们的getCount（）数值很大，但是轮播的图片就几张，不采用取余的方式的话就会下标越界，其中mImageViewList是存储轮播图片的集合
        ImageView imageView = mImageViewList.get(position%mImageViewList.size());
        container.addView(imageView);
        return imageView;
    }
    //销毁布局
    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((View) object);
    }
}
